package oom;

import java.util.ArrayList;
import java.util.List;

public class HeapOOM {
    static class ObjectOOM{}

    /**
     * java -Xms5m -Xmx5m -XX:+HeapDumpOnOutOfMemoryError oom.HeapOOM
     * jdk/bin/jvisualvm.exe 打开  java_pid14384.hprof  heap profile
     * -XX:HeapDumpPath=./java_pid%p.hprof
     * -XX:HeapDumpPath=D:/logs windows dir
     * 如果不是内存泄漏，换句话说就是内存中的对象确实都是必须存活的，那就应当检查Java虚拟机
     * 的堆参数（-Xmx与-Xms）设置，与机器的内存对比，看看是否还有向上调整的空间。再从代码上检查
     * 是否存在某些对象生命周期过长、持有状态时间过长、存储结构设计不合理等情况，尽量减少程序运
     * 行期的内存消耗。
     * @param args
     */
    public static void main(String[] args) {
        List<ObjectOOM> list = new ArrayList<>();
        System.out.println("爱的色放");
        int i = 0;
        while (true) {
            list.add(new ObjectOOM());
        }

    }
}
